package com.biz.primus.base.elasticsearch.repository;

import com.biz.primus.base.elasticsearch.common.CommonESRepository;
import com.biz.primus.base.elasticsearch.entities.ProductEntity;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;


/**
 * 普通商品curd
 *
 * @author Nian.Li
 * @ClassName: ProductRepository 
 * @Description: TODO
 * @date 2016年8月23日 下午11:01:27    
 */
public interface ProductEsRepository extends CommonESRepository<ProductEntity, Long> {

    /**
     * 根据名称精确检索
     *
     * @param name 名称
     * @param page 分页参数
     */
    Page<ProductEntity> findByName(String name, Pageable page);

    /**
     * 根据名称模糊检索
     */
    Page<ProductEntity> findByNameLike(String name, Pageable page);

    void deleteByProductTypeAndLastUpdateTimeLessThanEqual(Integer productType, Long time);

    /**
     * 根据商品编码删除entity
     * @param productCode
     */
    void deleteByProductCode(String productCode);
}
